package com.cdn.plugin;

import com.cdn.plugin.consts.PluginStatus;
import com.cdn.plugin.consts.SysConst;
import com.intellij.openapi.actionSystem.*;
import com.intellij.openapi.ui.Messages;
import org.jetbrains.annotations.NotNull;

/**
 * 蔡定努
 * 2024/08/24 14:15
 */
public class SwitchAction extends AnAction {
    // 用于跟踪插件的状态
    @Override
    public void actionPerformed(@NotNull AnActionEvent e) {
        if (PluginStatus.get()) {
            // 插件已启用，执行关闭操作
            Messages.showMessageDialog("插件已关闭,重启项目生效", SysConst.PLUGIN_NAME, Messages.getInformationIcon());
        } else {
            // 插件未启用，执行开启操作
            Messages.showMessageDialog("插件开启成功,重启项目生效", SysConst.PLUGIN_NAME, Messages.getInformationIcon());
        }
        PluginStatus.set();
    }

    @Override
    public @NotNull ActionUpdateThread getActionUpdateThread() {
            return ActionUpdateThread.BGT;
    }

    @Override
    public void update(@NotNull AnActionEvent e) {
        // 根据插件状态设置菜单项的文本和图标
        if (PluginStatus.get()) {
            e.getPresentation().setText(SysConst.OPEN_TEXT);
            e.getPresentation().setIcon(Messages.getInformationIcon());
        } else {
            e.getPresentation().setText(SysConst.CLOSE_TEXT);
            e.getPresentation().setIcon(Messages.getInformationIcon());
        }
    }


}
